1. Field of the Invention
The present invention relates to a disk control method and a disk control apparatus suitable for a storage apparatus of a computer.
2. Description of the Related Art
As major storage apparatuses for computers, storage units having disk shaped recording planes, such as magnetic disks and magneto optical disks, i.e., a so-called "disk unit" are conventionally utilized. A disk unit owns such a structural feature that when storage regions existing at different positions on a recording plane thereof are accessed, a mechanical operation is necessarily required. Accordingly, waiting (latency) time caused by this mechanical operation would greatly deteriorate overall performance of this disk unit.
In an example shown in FIG. 7a, 4 ring-shaped storage regions (tracks t1 to t4) are present on a surface of a rotating disk 100. Each of these ring-shaped storage regions is further subdivided into 8 storage regions along the circumference, so that 32 arc-shaped recording regions (sectors) are formed. Considering now that data is accessed in the order of sectors A, B, C and D, as illustrated in FIG. 7b, a data read/write head 101 must be reciprocated in the radial direction, so that seek time is required for this head reciprocation.
Also, after the head has been transported to a predetermined track, waiting time (relation waiting time) defined by that a desired sector is rotating returned to the position of the head 101 is required.
Recently, on the other hand, although processing speeds of digital circuits are considerably increased, processing speeds (data transfer speeds) of mechanically operated units are not so increased as being expected because there are physical limitations due to strengths and weights of mechanical components. As a consequence, processing speeds of disk units are further relatively lowered as compared with those of digital circuits, and therefore the disk units would mainly impede improvements in the performance of the overall system.
However, on the other hand, a large amount of data such as moving image data is required to be read/written from/into a disk unit, so that higher processing speeds are required for such a disk unit.
FIG. 8 schematically shows the conventional method for storing data into the serially-ordered sectors A to D in synchronization with the rotation of the disk 100. Since the data are stored into the continuous recording (storage) regions in such a manner, the seek time required to transport the head 101 can be reduced to zero and also the rotation waiting time is no longer required, so that the data can be accessed at high speeds.
When, for instance, a computer (not shown in detail) stores the data into the disk 100, if the continuous storage regions are utilized, then such a data arrangement is available and the data can be accessed at high speeds. However, in case that a large amount of data such as moving image data must be processed at high speeds, such a conventional method for continuously using the continuous storage regions would not be practically utilized because the load of the computer becomes heavy. This is because of the below-mentioned reasons.
That is, as the first reason, the computer load becomes large because the data should be processed to be rearranged. For example, as illustrated in FIG. 9, when first data 300 are arranged in all sectors at a track t1 and also a portion of sectors at a track t2, and second data are arranged in all sectors at a track t3, since both of the first data 300 and the second data 301 are arranged in the respective continuous storage regions on the disk 100, these first and second data can be accessed at high speeds.
Further, in order to store such third data requiring 10 sectors of storage regions, the previously existing second data 301 are shifted to either the inner circumference, or the outer circumference (in this case, either track t4 or track t2) so that more than 10 sectors of continuous unused storage regions should be formed. To achieve such a data process operation, the data must be moved and furthermore in conjunction with this data transportation, the information (directory information) for indicating which data is located in which storage region must be updated. As a consequence, the heavy load is given to the computer when the data are transported.
As the second reason, since data is rearranged when the data is commonly shared, a load given to the computer is increased. In many cases, practically speaking, the location of the storage region (internal address) into which predetermined data has been stored is written (stored) into a plurality of different positions of the directory information. Such a condition may occur when preselected images which are usually used are commonly shared in a plurality of moving image sequences (data group).
FIG. 10a represents positions of image data D1 to D4 stored in the disk 100 with respect to the disk 100. The reference numerals given to the respective storage regions (sectors) of the disk 100 show addresses corresponding to these storage regions. FIG. 10b shows the directory information. Into this directory information, moving image sequences 1 and 2 have been stored which are used to read out, for instance, the image data D1 to D4 in accordance with a preselected sequence. In this directory information, addresses of the storage regions into which the image data D1 to D4 are stored are stored in the order to read the image data D1 to D4 shown in FIG. 10a.
In the moving image sequence 1 contained in the directory information shown in FIG. 10b, the image data are accessed in this order of the image data D1, D3, D4 corresponding to the addresses 1, 19, 28 to produce a series of movement on the screen. In the moving image sequence 2, the image data are accessed in this order of the image data D2, D3, D4 corresponding to the addresses 10, 19, 28 to produce a series of movement.
At this time, the image data D3 and D4 are commonly shared by the two moving image sequences 1 and 2. Such a data sharing operation is normally realized by entering the addresses of the storage regions into which the data are stored in the moving image sequences 1 and 2 contained in the directory information. In other words, such a fact that the same addresses are written into a plurality of moving image sequences implied the data stored at this same addresses are commonly shared by these plural moving image sequences.
Under such a circumstance, when data is rearranged, all of the portions where an address of this data has been written should be changed in the directory information in connection with this data rearrangement. In other words, with respect to all of such moving image sequences in which the addresses corresponding to the data to be moved by the data rearrangement, the addresses written therein should be replaced by new addresses. In such an actual condition, namely data sharing condition, the load given to the computer in connection with the data movement is further increased.
As the third reason, the load caused by performing the arrangement process in connection with the data change and the data substitution would be increased. In particular, when moving image data are processed, such operations are frequently performed that a certain amount (equal to several seconds) of image data are replaced by other image data, and the order of these image data is changed. Every time such an operation is carried out, since the computer performs the above-explained rearrangement process, the resulting workload thereof would be increased. Thus, the computer could not supply sufficient capabilities to the editing/correcting works of the moving images, which should be originally performed.
As the fourth reason, a trade off relationship may be present between improvements in a data transfer speed and flexibility in a data rearrangement. If data are stored into continued storage regions (continuous storage regions) and further a plurality of disk storage units are usable, then the data are subdivided and the subdivided data are stored into these plural disk storage units. Then these subdivided data are accessed in a parallel mode, so that the data transfer speed can be increased.
However, to allocate the overall data into the continuous storage regions, such unused storage regions which are continued and own at least dimensions larger than, or equal to those of the data are required. If there is no such a large-sized continuous storage region, the following rearrangement should be frequently performed in order to secure such an unused storage region having at least the same size as that of the data, or equal thereto by collecting small unused storage regions. As a consequence, a lengthy time is necessarily required to carry out such a rearrangement, which would not be used in a practical case.
On the other hand, when a dimension of a continuous storage region is limited to a predetermined size, data is subdivided, and the subdivided data are stored in a plurality of continuous storage regions, since a dimension of each unused storage region is allowed to be larger than this limited dimension, flexibility in a data rearrangement can be increased. However, since seek time and rotation waiting time are produced at the boundaries of the continuous storage regions, the performance is lowered.
As described above, there is such a trade off problem between the transfer speed of the data and the flexibility of the data rearrangement. As a result, the dimensions of the conventional continuous storage regions are determined in such a manner that these dimensions are limited into such a range where the performance of the conventional disk apparatus can be satisfied.
However, in particular, when a data series is accessed, there is a problem that an access operation is commenced in an earlier time. That is, when the size of the continuous storage region of the disk has a predetermined limited value, seek time and rotation waiting time are produced at a boundary of the continuous storage region, during which the data transfer operation is interrupted.
To prevent this problem, as shown in FIG. 11a a buffer 200 is interposed between the disk 100 and the computer 300, so that the data transfer to the computer 300 can be continuously performed at a preselected transfer speed. This operation is comparable to such an example that water is intermittently poured into a water bath from one side by using a bucket, and water is sucked therefrom at the other side by using a hose.
A graphic representation shown in FIG. 11b represents a relationship between time and a transfer speed of data transferred from the disk 100 to the buffer 200. The abscissa indicates the time and the ordinate shows an amount of data transferred per unit time (transfer speed). As described above, the data are intermittently transferred from the disk 100 to the buffer 200.
Another graphic representation shown in FIG. 11c denotes a relationship between time and a transfer speed of data transferred from the buffer 200 to the computer 300. The abscissa shows the time and the ordinate indicates the data transfer speed. As shown in this graphic representation, since the transfer speed from the disk 100 to the buffer 200 and the transfer speed from the buffer 200 to the computer 300 are set to preselected values, the data can be continuously transferred from the buffer 200 to the computer 300.
It should be noted that to operate the mechanism shown in FIG. 11a under better conditions, when the data is transferred from the disk 100 to the buffer 200, the data transfer operation from the buffer 200 to the computer 300 should be delayed until such an amount of data has been stored, which exceeds a product value of "Tw.times.TRc", namely the longest interrupt time (Tw) corresponding to the longest time during which the data transfer operation is interrupted is multiplied by the transfer speed (TRc) at which the data is transferred via the buffer 200 to the computer 300. Otherwise, while the data transfer operation from the disk 100 to the buffer 200 is interrupted, the data transfer operation from the buffer 200 to the computer 300 is continued and thus there is no data stored in the buffer 200, resulting in a so-called "under flow". As a result, the data transfer operation from the buffer 200 to the computer 300 is interrupted.
Apparent form the foregoing descriptions, in order to start the data transfer operation at earlier time, the dimension of the continuous storage region in the disk 100, into which the head portion of the data has been stored, is made large, and also the data transfer performance of the disk 100 during the commencement of the data transfer operation should be increased. On the other hand, as previously explained, when the dimension of the continuous storage region is made large, flexibility of the data arrangement is impaired, so that it is difficult to manage the data.
In particular, when data corresponding to moving images are stored, since a time period after an image reproduction is instructed until image data are actually outputted is required to be shortened, this problem should be solved.
As described above, in the conventional disk control apparatus, when the data are rearranged, the data must be moved and also the directory information should be changed. Therefore, there is a problem that the load given to the computer is increased.
In case that the same data is commonly shared by a plurality of data groups, when the shared data is rearranged, the directory information of all of these data groups which commonly share this same data should be rewritten. Accordingly, there is another problem that the load given to the computer is increased.
Also, when such rearrangements are carried out, e.g., data sequence changes, data adding, deleting, or substitution, the data should be rearranged in connection thereto, so that the load given to the computer is increased.
Furthermore, when the data are stored into such a relatively large continuous storage region of the disk, and then the data transfer speed is increased, the data rearrangement should be frequently performed so as to secure this relatively large continuous storage region, resulting in a lengthy time.